A variety of data may be stored in a number of locations. For example, documents (e.g., word processing files, spreadsheets, presentations, web pages) may be stored in different locations distributed throughout an enterprise. Keeping track of all this data can be a daunting task. Finding particular pieces of this data in a timely manner using appropriate amounts of resources can be even more daunting.
Search systems are expected to provide responses within the shortest amount of time possible, even though millions and millions of documents may need to be searched. Additionally, responses are to be produced using the least amount of resources to keep costs as low as possible. However, these may be conflicting goals. One approach to reduce response time has been to “move the data closer to the searcher” by caching certain documents closer to a searcher (e.g., on searcher desktop system) in a system that supports searching. However, caching too many documents too close to the searchers consumes significant resources and creates replication and update issues.